﻿#define _CRT_SECURE_NO_WARNINGS 1
// 原题连接：https://www.nowcoder.com/practice/a2be806a0e5747a088670f5dc62cfa1e?tpId=230&tqId=39763&ru=/exam/oj

/*
题目描述：
小红拿到了一个数组。她想取一些不相邻的数，使得取出来的数之和尽可能大。你能帮帮她吗？
输入描述：
第一行输入一个正整数
n

n  ，代表数组长度
第二行输入
n

n  个正整数
a
i
a
i
​
  ，代表整个数组。
1
≤
n
≤
2
∗
1
0
5
,
1
≤
a
i
≤
5
∗
1
0
3
1≤n≤2∗10
5
 ,1≤a
i
​
 ≤5∗10
3

输出描述：
不相邻的数的最大和。
示例1
输入：
4
2 6 4 1
复制
输出：
7
复制
说明：
取 6 和 1 即可
*/

#include <iostream>
using namespace std;
const int N = 2e5 + 10;
int n = 0;
int ret = 0;
int f[N], g[N];

int main() {
    scanf("%d", &n);
    int x = 0;
    for (int i = 1; i <= n; i++) {
        scanf("%d", &x);
        f[i] = g[i - 1] + x;
        g[i] = max(f[i - 1], g[i - 1]);
    }
    cout << max(f[n], g[n]) << endl;
    return 0;
}